1. Field of the Invention
This invention relates generally to computing technology and more particularly concerns the configuration of a single SCSI chip to be used as a multi-channel device capable of being separately accessed and separately controlled for managing communication for different types of devices, such as SCSI devices and RAID devices.
2. Description of the Related Art
To access and control certain types of peripheral devices connected to a computer system, the computer generally utilizes host adapter cards (or controllers) attached to the computer's peripheral component interconnect (PCI) bus. The computer may also have peripheral device controllers built into the motherboard. These controllers serve to coordinate and manage the data communication to and from the peripheral devices. Controllers may be in the form of a video display adapter, an integrated drive electronics (IDE) controller, a small computer system interface (SCSI) controller, or other similar cards or chips which control peripheral devices. Each of these controllers manage a single type of peripheral device and, if not built into the motherboard, takes up one expansion slot on the PCI bus.
Generally, SCSI controller cards contain a certain type of computer chip known as an application-specific integrated circuit (ASIC). ASICs are usually created for a specific purpose or application such as controlling SCSI devices, RAID arrays, or other similar devices. ASICs that manage SCSI devices are commonly known as SCSI chips. A SCSI controller generally contains one SCSI chip. By use of software device drivers, a host computer can instruct a SCSI chip to manage a specific peripheral device and control the data transfer between the peripheral device and the host computer.
In a computer system with SCSI peripherals, each different type of SCSI device that requires its own processor is connected to a different SCSI chip that controls that type of device. For example, the SCSI devices that interface with additional hardware such as RAID and the SCSI devices that use the computer's CPU require separate SCSI chips/controllers to manage the individual peripheral device types.
FIG. 1 shows a computer configuration where two different types of peripheral devices are connected to a computer system. For example, a SCSI chip-A 10 with single channel is connected to peripheral devices 16. The SCSI chip-A 10 controls the input/output activities of the peripheral devices 16 and regulates the flow of data between the peripheral devices 16 and a host computer with a host central processing unit (CPU) 20. For the control of RAID storage devices, a RAID input output processor (IOP) 14 is connected to a SCSI chip-B 12 with a single channel which is in turn connected to a RAID storage array 18. The RAID IOP 14 manages all the read and write operations to the RAID storage array 18 by directing the SCSI chip-B 12 to perform the read and write operations of the RAID storage array 18. As can be seen, in a complex computing environment where numerous types of SCSI peripheral devices (such as CD-ROMs, optical discs, RAID devices, hard disk drives, removable storage drives, tape backup drives, etc.) are connected to a computing system, different SCSI chips may be required to control the different functionality. One single channel SCSI chip may control up to 15 devices with different software to match these device types, but as performance demand increases, it is required to separate higher performance devices by using additional SCSI chips. Furthermore, the option of adding multiple controller chips to a motherboard is limited and significantly increases the price of the system as well as complicating the integration and interoperability. Therefore, a prior art system using different SCSI chips for different types of peripheral devices is inefficient, costly, and more difficult to manage.
To ease the system complication of multiple single channel SCSI chips, dual channel SCSI chips were introduced that shared the chip single system interface. This dual channel SCSI chip used the same software for both channels and therefore could only perform as one type of SCSI channel and cannot control multiple types of peripheral devices having different functionality which limited expanded device configurations.